﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MySql.Data.MySqlClient;


namespace MaterialezMuñoz
{
    public partial class RegistroProductos : System.Web.UI.Page
    {
        clases.Productos P = new clases.Productos();
        clases.ManejoProductos MP = new clases.ManejoProductos();
        protected void Page_Load(object sender, EventArgs e)
        {
            llenarGV();
        }

        private void datos(clases.Productos P)
        {
            P.claveProd = int.Parse(txtIdProd.Text);
            P.nombreProd = txtNombreProd.Text;
            P.descripcionProd = txtDescripcionProd.Text;
            P.precioUnitarioProd = decimal.Parse(txtPrecioUnitarioProd.Text);
            P.urlImageProd = FUImagenProd.FileName;
        }

        private void limpearText()
        {
            txtIdProd.Text = "";
            txtNombreProd.Text = "";
            txtDescripcionProd.Text = "";
            txtPrecioUnitarioProd.Text = "";
        }

        public void llenarGV()
        {
            string conn = "Server=localhost;UId=root;Password=123;database=sistemamat";
            string query = "Select * from productos";
            MySqlConnection con = new MySqlConnection(conn);
            MySqlDataAdapter da = new MySqlDataAdapter(query, con);
            System.Data.DataSet ds = new System.Data.DataSet();
            da.Fill(ds, "simple_data");
            gvProductos.DataSource = ds;
            gvProductos.DataBind();
        }
        protected void btnAgregarProd_Click(object sender, EventArgs e)
        {
            try
            {
                datos(P);

                if (MP.Insertar(P))
                {
                    llenarGV();
                    Label2.Text = "Los datos se han guarado exitosamente";
                }
                else
                {
                    Label2.Text = "Recuerde que el telefono son solo numeros";
                }
                limpearText();

            }
            catch
            {
                Label2.Text = "Porfavor verifique que todos los campos esten llenos.";
            }
        }

        protected void btnBuscarProd_Click(object sender, EventArgs e)
        {
            try
            {
                if (MP.Buscar(int.Parse(txtIdProd.Text)))
                {
                    while (MP.Respuesta.Read())
                    {
                        txtNombreProd.Text = MP.Respuesta["nombre"].ToString();
                        txtDescripcionProd.Text = MP.Respuesta["descripcion"].ToString();
                        txtPrecioUnitarioProd.Text = MP.Respuesta["precio_uni"].ToString();
                    }
                    MP.CerrarConexion();
                }
                else
                {
                    Label2.Text = "Error al cargar los datos veifique si el producto existe";
                }
            }
            catch
            {
                Label2.Text="Escriba el id del producto para busqueda.";
            }
        }

        protected void btnActualizarProd_Click(object sender, EventArgs e)
        {
            try
            {
                datos(P);

                if (MP.Actualizar(P))
                {
                    llenarGV();
                    Label2.Text = "Producto modificado con exíto.";
                }
                else
                {
                    Label2.Text = "Error al modificar el producto verifique bien los nuevos datos.";
                }
            }
            catch
            {
                Label2.Text = "Porfavor verifique que todos los campos esten llenos.";
            }
            limpearText();
        }

        protected void btnBorrarProd_Click(object sender, EventArgs e)
        {
            try
            {
                if (MP.Borrar(int.Parse(txtIdProd.Text)))
                {
                    llenarGV();
                    Label2.Text = "Eliminado con Exíto";
                }
                else
                {
                    Label2.Text = "Error verifique que el producto exista.";
                }
            }
            catch
            {
                Label2.Text = "Escriba el dato por el cual desea eliminar.";
            }
            limpearText();
        }
    }
}